#include "hal_watchdog.h"
#include "driverlib.h"

// 初始化看门狗
bool hal_watchdog_init(hal_watchdog_mode_t mode)
{
    if (mode == HAL_WATCHDOG_DISABLED) {
        SysCtl_disableWatchdog();
        return true;
    } else {
        SysCtl_enableWatchdog();
        // 默认超时时间，如果有需要可通过hal_watchdog_set_timeout修改
        return true;
    }
}

// 喂狗
void hal_watchdog_feed(void)
{
    SysCtl_serviceWatchdog();
}

// 设置超时时间（C2000 Driverlib目前未直接提供此功能，实际实现略）
bool hal_watchdog_set_timeout(uint32_t ms)
{
    // C2000看门狗定时器计数器为固定的，通常不能通过简单API直接按ms设置
    // 如需支持此功能可自行计算PRD值并配置
    // 这里只做占位
    (void)ms;
    return false;
}
